#ifndef _GeneralReceivingQueue_H
#define _GeneralReceivingQueue_H
#define GENERAL_QUEUE_RECV_BUFF_SIZE     32
typedef struct _GeneralReceivingQueueItem_t
{
	struct _GeneralReceivingQueueItem_t * next;
	unsigned char  buff[GENERAL_QUEUE_RECV_BUFF_SIZE];
	unsigned short idx;
	unsigned short count;
	unsigned char  isRecvCompleted;
	unsigned short timeout;
	unsigned short timeoutCnt;
}GeneralReceivingQueueItem_t;

void GeneralReceivingQueueAddItem(GeneralReceivingQueueItem_t *item,unsigned short timeout);
void GeneralReceivingQueueTimeout(void);
void GeneralReceivingQueueGetByte(GeneralReceivingQueueItem_t* queue,unsigned char byte);
unsigned short GeneralReceivingQueueGetBuff(GeneralReceivingQueueItem_t* queue,unsigned char *buff);
#endif